Java: Memory Consistency and Process Coordination
نویسندگان
چکیده
In Java, some memory updates are necessarily visible to some threads but never to others. A definition of Java memory consistency must take this fact into consideration to capture the semantics of non-terminating systems, such as a Java operating system. This paper presents a programmer-centered formal definition of Java memory behavior that captures those semantics. Our definition is employed to prove that it is impossible to provide fundamental process coordination in Java, such as critical sections and producer/consumer coordination, without the use of the synchronized and volatile constructs. However, we show that a weaker form of synchronization suffices to solve some of these problems in Java. keywords: Java, Java Virtual Machine, memory consistency models, process coordination, critical section problem, producer/consumer problem, non-terminating systems.
منابع مشابه
Java : Memory Consistency and Process Coordination � ( Extended
In Java, some memory updates are necessarily visible to some threads but never to others. A definition of Java memory consistency must take this fact into consideration to capture the semantics of non-terminating systems, such as a Java operating system. This paper presents a programmer-centered formal definition of Java memory behavior that captures those semantics. Our definition is employed ...
متن کاملCharacterization for Java Memory Behavior
We provide non-operational characterizations of Java memory consistency model (Java Consistency, or simply Java). The work is based on the operational definition of the Java memory consistency as given in the Java Language Specification [6]. We study the relation of Java memory behavior to that of some well known models, proving that Java is incomparable with PRAM Consistency and with both vari...
متن کاملDesign and Performance Analysis of a Distributed Java Virtual Machine
ÐThis paper introduces DISK, a distributed Java Virtual Machine for networks of heterogenous workstations. Several research issues are addressed. A novelty of the system is its object-based, multiple-writer memory consistency protocol (OMW). The correctness of the protocol and its Java compliance is demonstrated by comparing the nonoperational definitions of Release Consistency, the consistency...
متن کاملSequential Consistency for Heterogeneous-Race-Free Programmer-centric Memory Models for Heterogeneous Platforms
Hardware vendors now provide heterogeneous platforms in commodity markets (e.g., integrated CPUs and GPUs), and are promising an integrated, shared memory address space for such platforms in future iterations. Because not all threads in a heterogeneous platform can communicate with the same latency, vendors are proposing synchronization mechanisms that allow threads to communicate with a subset...
متن کاملWeak Memory Consistency Models
Process coordination problems have been extensively addressed in the context of sequential consistency. However, modern multiprocessors present a large variety of memory models that are anything but sequentially consistent. In these machines, the ordering constraints on memory accesses are few. We re-address two fundamental process coordination problems in the context of weak memory models. We ...
متن کامل